package com.navi.loaddata.core.oracleEntity;

import com.navi.loaddata.core.oracleEntity.array.EtlArrayCmnGlassV;
import com.navi.loaddata.core.oracleEntity.cell1.EtlCellCmnComponentV;
import com.navi.loaddata.core.oracleEntity.cell2.EtlCell2CmnChipV;
import com.navi.loaddata.core.oracleEntity.cf.EtlCfCmnGlassV;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.ReportingPolicy;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * Created by Jay on 2018/3/27.
 */

@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface EtlCmnGlassVMapper {

    EtlCmnGlassVMapper INSTANCE = Mappers.getMapper(EtlCmnGlassVMapper.class);

    EtlArrayCmnGlassV etlCmnGlassToArray(EtlCmnGlassV cmnGlassVMapper);
    List<EtlArrayCmnGlassV> etlCmnGlassToArray(List<EtlCmnGlassV> list);


    EtlCfCmnGlassV etlCmnGlassToCf(EtlCmnGlassV cmnGlassVMapper);
    List<EtlCfCmnGlassV> etlCmnGlassToCf(List<EtlCmnGlassV> list);


    @Mapping(target = "componentId",source = "glassId")//属性名不一致映射
    EtlCellCmnComponentV etlCmnGlassToCell1(EtlCmnGlassV cmnGlassVMapper);
    List<EtlCellCmnComponentV> etlCmnGlassToCell1(List<EtlCmnGlassV> list);


    @Mapping(target = "chipId", source = "glassId")//属性名不一致映射
    EtlCell2CmnChipV etlCmnGlassToCell2(EtlCmnGlassV cmnGlassVMapper);
    List<EtlCell2CmnChipV> etlCmnGlassToCell2(List<EtlCmnGlassV> list);

}
